<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of FuncionarioVO
 *
 * @author thales
 */
class ClienteVO {
    private $id;
    private $nome;
    private $email;     
    private $telefone;
    private $celular;
    private $cidade; 
    private $bairro;
    private $uf; 
    private $cep;
    private $complemento;  
    private $nascimento;
    private $genero;
    
    /**
     * Método get da entidade Funcionário para o atributo id
     * @return Integer 
     */
    public function getId() {
        return $this->id;
    }
    
    /**
     *Método set da entidade Funcionário para o atributo id
     * @param Integer id 
     */
    public function setId($id) {
        if ( !is_numeric($id) && $id < 1 ) {
            throw new Exception('O campo id deve numérico e maior que do que 0!');
        }
        $this->id = $id;
    }

    /**
     * Método get da entidade Funcionário para o atributo nome
     * @return String 
     */
    public function getNome() {
        return $this->nome;
    } 

    /**
     *Método set da entidade Funcionário para o atributo nome
     * @param String $nome 
     */
    public function setNome($nome) {
        if ( strlen($nome) < 3 && strlen($nome) > 255) {
            throw new UserException('A nome deve conter entre 3 e 255 caracteres!');
        }
        $this->nome = $nome;
    }
    /**
     * Método get da entidade Funcionário para o atributo email
     * @return String 
     */
    public function getEmail() {
        return $this->email;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setEmail($email, $validar = true) {
        if ( $validar && !preg_match("/^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$/i",$email) ) {
            throw new UserException('Digite um email válido!');
        }
        if (strlen($email) < 3 && strlen($email) > 255 ) {
            throw new UserException('O email deve conter entre 3 e 255 caracteres!');
        }
        $this->email = $email;
    }
    
    public function getTelefone() {
        return $this->telefone;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setTelefone($telefone) {
        if ( strlen($telefone) < 3 && strlen($telefone) > 255) {
            throw new UserException('O telefone deve conter entre 3 e 255 caracteres!');
        }
        $this->telefone = $telefone;
    }
    
    public function getCelular() {
        return $this->celular;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setCelular($celular) {
        if ( strlen($celular) < 3 && strlen($celular) > 255) {
            throw new UserException('O celular deve conter entre 3 e 255 caracteres!');
        }
        $this->celular = $celular;
    }
    
    public function getCidade() {
        return $this->cidade;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setCidade($cidade) {
        if ( strlen($cidade) < 3 && strlen($cidade) > 255) {
            throw new UserException('A cidade deve conter entre 3 e 255 caracteres!');
        }
        $this->cidade = $cidade;
    }
    
    public function getBairro() {
        return $this->bairro;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setBairro($bairro) {
        if ( strlen($bairro) < 3 && strlen($bairro) > 255) {
            throw new UserException('O bairro deve conter entre 3 e 255 caracteres!');
        }
        $this->bairro = $bairro;
    }
    
    public function getUf() {
        return $this->uf;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setUf($uf) {
        if ( strlen($uf) < 3 && strlen($uf) > 255) {
            throw new UserException('O UF deve conter entre 3 e 255 caracteres!');
        }
        $this->uf = $uf;
    }
    
    public function getCep() {
        return $this->cep;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setCep($cep) {
        if ( strlen($cep) < 3 && strlen($cep) > 255) {
            throw new UserException('O CEP deve conter entre 3 e 255 caracteres!');
        }
        $this->cep = $cep;
    }
    
    public function getComplemento() {
        return $this->complemento;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setComplemento($complemento) {
        if ( strlen($complemento) < 3 && strlen($complemento) > 255) {
            throw new UserException('O complemento deve conter entre 3 e 255 caracteres!');
        }
        $this->complemento = $complemento;
    }
    
    public function getNascimento() {
        return $this->nascimento;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setNascimento($nascimento) {
       if ( strlen($nascimento) < 3 && strlen($nascimento) > 255) {
            throw new UserException('A data de nascimento deve conter entre 3 e 255 caracteres!');
        }
        $this->nascimento = $nascimento;
    }
    
    public function getGenero() {
        return $this->genero;
    } 

    /**
     *Método set da entidade Funcionário para o atributo email
     * @param String $email 
     */
    public function setGenero($genero) {
       if ( strlen($genero) < 3 && strlen($genero) > 255) {
            throw new UserException('O gênero deve conter entre 3 e 255 caracteres!');
        }
        $this->genero = $genero;
    }

}

?>
